import { getToken,
  setToken, removeToken } from '@/utils/auth'
import { UserMessage, login } from '@/api/user'
export default {
  namespaced: true, // 开启命名空间
  state: {
    token: getToken(),
    mess: ''
  },
  mutations: {
    updateToken(state, newToken) {
      state.token = newToken
      // 本地存储
      setToken(newToken)
    },
    delToken(state) {
      // 1. 仓库中的token清除掉
      // 2. cookie中的token清除掉
      state.token = ''
      removeToken()
    },
    Usermessage(state, Newmess) {
      state.mess = Newmess
    }
  },
  actions: {
    async updateTokenSync(context, data) {
      // 1. 调用登录接口请求 - TODO
      const token = await login(data)
      // 2. 接口返回token - TODO
      // 3. 调用mutation的方法
      context.commit('updateToken', token)
    },
    async usermessage(context) {
      const res = await UserMessage()
      context.commit('Usermessage', res)
    },
    cleanToken(context) {
      context.commit('delToken')
      context.commit('Usermessage', '')
    }
  }
}
